<?php namespace Common\Model;
use Hdphp\Model\Model;
//友情链接管理模型
class Link extends Model{
	//指定表名,固定写法
    protected $table = "link";
	
	protected $validate = array(
		array('lname','required','站名不能为空',3,3),
		array('url','required','地址必须选择',3,3)
	);
	
	//自动完成
	protected $auto = array(
		//查手册
		//3是必须处理的表单，1是在插入时候处理
	 	array('addtime','time','function',3,1),
	 	//缩略图
	 	array('logo','logo','method',3,3)
	);
	
	public function logo(){
		//如果有文件上传
		//如果是编辑的时候，只显示图片的时候，没有file类型的表单，所以是不存在$_FILES['thumb']
		if(isset($_FILES['logo']) && $_FILES['logo']['error'] != 4){
			//执行上传类
			$files = Upload::type('jpg,png,gif')->size(2000000)->make();
			//如果上传成功，返回对应的路径
			if($files){
				//处理缩略的文件名
				$newPath = str_replace('.' . $files[0]['ext'], '_logo.' . $files[0]['ext'], $files[0]['path']);
				//缩略，返回缩略图的地址
				$logoPath = Image::thumb($files[0]['path'],$newPath,200,200,2);
				//存到数据库
				return $logoPath;
			}
		}
		//编辑的时候：如果有隐藏域（$_POST['thumb']）的时候，那么就是返回旧地址
		if($logo = Q('post.logo')){
			return $logo;
		}
		//如果用户没有上传，则返回空字符串存入数据
		return '';
	}
	
	
	
	//添加方法
	public function store(){
		//一.触发两张表的自动验证
		//1.验证article
		if(!$this->create()) return false;
		//如果上传失败
		if($error = Upload::getError()){
			//给当前模型压入错误
			$this->error = $error;
			return false;
		}
		//二、添加数据
		//1.article文章表，返回文章的自增id
		$aid = $this->add();

		return true;
	}
	
	//编辑方法
	public function edit(){
		//一.触发两张表的自动验证
		//1.验证article
		if(!$this->create()) return false;
		//如果上传失败
		if($error = Upload::getError()){
			//给当前模型压入错误
			$this->error = $error;
			return false;
		}
		
		//二、修改
		//1.article
		$this->save();
		
		return true;
	}
	
	
	
	
	
	
	
	
	
	
}